/*
 * @Author: c
 * @Date: 2024-01-12 01:28:35
 * @LastEditTime: 2024-01-12 02:14:02
 * @LastEditors: c
 * @Description:
 * @FilePath: \vue3-element-admin\src\api\tracklist\type.ts
 * https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
// Copyright 2024 Administrator
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

import { Song } from "../song";

// Generated by https://quicktype.io

//歌单
export interface Track {
  //标签文本列表
  tagList: string[];
  //背景图
  pic: string;
  //唯一ID
  id: number;
  //标签id列表
  cateList: number[];
  //歌单的标题
  title: string;

  menu: any[];
  //新增的日期
  addDate: string;
  //歌单的描述
  desc: string;
  //资源类型（1）
  resourceType: number;
  //歌单中歌曲总数
  trackCount: number;
  //当前登录用户是否喜欢
  isFavorite: number;
  //歌单中歌曲列表
  trackList?: Song[];
}

// Generated by https://quicktype.io

export interface TrackItem {
  artist: Artist[];
  cpId: number;
  pic: string;
  title: string;
  duration: number;
  assetId: string;
  genre: string;
  albumTitle: string;
  id: string;
  lang: string;
  afReplayGain: number;
  albumAssetCode: string;
  releaseDate: string;
  isrc: string;
  sort: number;
  meanVolume: number;
  maxVolume: number;
  lyric: string;
  _trackId: number;
  TSID: string;
  allRate: string[];
  pushTime: string;
  downTime: string;
  bizList: string[];
  rateFileInfo: { [key: string]: RateFileInfo };
  backing: any[];
  isFavorite: number;
  isVip: number;
  isPaid: number;
}

export interface Artist {
  artistCode: string;
  gender: string;
  name: string;
  artistType: number;
  artistTypeName: string;
  pic: string;
  region: string;
}

export interface RateFileInfo {
  size: number;
  format: string;
}
